package fulbitofacil.negocio;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Date;

import fulbitofacil.dao.ComentarioNegocioDAO;
import fulbitofacil.exception.DAOExcepcion;
import fulbitofacil.modelo.CanchaFul;
import fulbitofacil.modelo.Cliente;
import fulbitofacil.modelo.Comentario;

public class ComentarioNegocio {

	public Collection<Comentario> listarComentarios(int idCanchaFul){
		Collection<Comentario> lista = new ArrayList<Comentario>();
		ComentarioNegocioDAO C = new ComentarioNegocioDAO();
		try {
			lista=C.obtenerComentariosDeUnaCancha(idCanchaFul);
		} catch (DAOExcepcion e) {
			
			e.printStackTrace();
		}
		return lista;
	}
	
	
	public void mostrarComentarios(){
		Collection<Comentario> comentarios = new ArrayList<Comentario>();
		ComentarioNegocioDAO C = new ComentarioNegocioDAO();
		try {
			comentarios=C.obtenerComentariosDeUnaCancha(1);
		} catch (DAOExcepcion e) {
			
			e.printStackTrace();
		}
		System.out.println("Lista de Comentarios");
		for(Comentario com:comentarios){
			System.out.println("Id Comentario : "+com.getIdComentario());
			System.out.println("Comentario    : "+com.getDescripcion());
			System.out.println("Calificacion  : "+com.getCalificacion());
			System.out.println("Nombre de cancha       : "+com.getMyCanchaFul().getNombre());
			System.out.println("Descripcion de cancha  : "+com.getMyCanchaFul().getCaractetisticas());
			System.out.println();
		}
	}
	
	
	
	
	public void comentarUnComentario(String des,int cal,int idCom,int idCan,int idPer){
		Comentario com = new Comentario();
		Comentario comPadre = new Comentario();
		CanchaFul can = new CanchaFul();
		Cliente cli = new Cliente();
		
		cli.setId_persona(idPer);	
		can.setIdCanchaFul(idCan);
		comPadre.setIdComentario(idCom);
		
		Date fechaActual = new Date();
		SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
		String cadenaFecha = formato.format(fechaActual);
		
		com.setCalificacion(cal);
		com.setDescripcion(des);
		
		com.setMyComentario(comPadre);
		com.setMyCanchaFul(can);
		com.setMyCliente(cli);
		com.setFecha(cadenaFecha);
		
		try {
			ComentarioNegocioDAO C = new ComentarioNegocioDAO();
			C.guardarComentarioDeUnComentario(com);
		} catch (DAOExcepcion e) {
			
			e.printStackTrace();
		}
		
		
	}
	
	
	
		public void comentarUnaCancha(String des,int cal,int idCom,int idCan,int idPer){
			Comentario com = new Comentario();
			Comentario comPadre = new Comentario();
			CanchaFul can = new CanchaFul();
			Cliente cli = new Cliente();
			
			cli.setId_persona(idPer);	
			can.setIdCanchaFul(idCan);
			comPadre.setIdComentario(idCom);
			
			Date fechaActual = new Date();
			SimpleDateFormat formato = new SimpleDateFormat("dd/MM/yyyy");
			String cadenaFecha = formato.format(fechaActual);
			
			com.setCalificacion(cal);
			com.setDescripcion(des);
			
			com.setMyComentario(comPadre);
			com.setMyCanchaFul(can);
			com.setMyCliente(cli);
			com.setFecha(cadenaFecha);
			
			try {
				ComentarioNegocioDAO C = new ComentarioNegocioDAO();
				C.guardarComentarioDeUnComentario(com);
			} catch (DAOExcepcion e) {
				
				e.printStackTrace();
			}
			
	}
		
		public boolean esUnEntero(String num){
			boolean llave =false;
			try{
				int numero=Integer.parseInt(num);
				llave=true;
			}catch(Exception e){
				llave=false;
			}		
			return llave;		
		}
		
		public boolean validarObjeto(Object objeto){
			boolean llave=false;
			CanchaFul cancha=new CanchaFul();
			objeto=(CanchaFul) new CanchaFul();
			
			if(objeto.equals(cancha)){
				
			}
			
			
			
			return llave;
		}
	
}
